• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            asm, c, c++ are my all
            -- Core In Computer
            posts - 139,  comments - 123,  trackbacks - 0

            ********************************************\
            |????歡迎轉載, 但請保留作者姓名和原文鏈接, 祝您進步并共勉!???? |
            \********************************************/


            C++對象模型(10) - 3.2 Data Member Layout

            作者: Jerry Cat
            時間: 2006/11/15
            鏈接:?
            http://www.shnenglu.com/jerysun0818/archive/2006/11/15/15192.html


            3.2 Data Member Layout

            class Point3d {
            public:
            ?? // ...
            private:
            ?? float x;
            ?? static List<Point3d*> *freeList;
            ?? float y;
            ?? static const int chunkSize = 250;
            ?? float z;
            };
            the nonstatic data members are set down in the order of their declaration(按聲明的順序) within each class object (any intervening static data members, such as freeList and chunkSize, are ignored). In our example, then, each Point3d object consists of three float members in order: x, y, z. The static data members are stored in the program's data segment independent of individual class objects.

            The Standard requires within an access section (the private, public, or protected section of a class declaration) only that the members be set down such that "later members have higher addresses within a class object" (Section 9.2 of the Standard). That is, the members are not required to be set down contiguously.(可以不連續但必須從低到高)

            What might intervene between the declared members? Alignment constraints on the type of a succeeding member may require padding. This is true both of C and C++, and in this case, the member layout of the two languages is in current practice the same.(對齊)

            虛表指針在哪兒? Traditionally, it has been placed after all the explicitly declared members of the class. More recently, it has been placed at the beginning of the class object. The Standard, by phrasing the layout requirement as it does, allows the compiler the freedom to insert these internally generated members anywhere, even between those explicitly declared by the programmer.

            In practice, multiple access sections are concatenated together into one contiguous block in the order of declaration.編譯器幫你同類項合并 No overhead is incurred by the access section specifier or the number of access levels. For example, declaring eight members in one access section or eight separate access sections in practice results in the same-sized objects.

            posted on 2006-11-15 23:34 Jerry Cat 閱讀(1000) 評論(0)  編輯 收藏 引用

            <2006年10月>
            24252627282930
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(7)

            隨筆檔案

            最新隨筆

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久天天婷婷五月俺也去| 中文字幕无码精品亚洲资源网久久 | 久久国产香蕉一区精品| 91精品婷婷国产综合久久 | 亚洲欧美日韩精品久久亚洲区 | 久久综合精品国产一区二区三区| 久久久久久精品成人免费图片| 久久99国产综合精品女同| 久久精品成人免费网站| 亚洲精品国产第一综合99久久| 午夜不卡久久精品无码免费| 性欧美大战久久久久久久 | 久久精品夜夜夜夜夜久久| 欧美色综合久久久久久| 99精品国产99久久久久久97| 欧美久久精品一级c片片| 国内精品九九久久久精品| 久久精品国产只有精品66| jizzjizz国产精品久久| 蜜桃麻豆WWW久久囤产精品| 一本色综合久久| 亚洲国产二区三区久久| 欧美亚洲色综久久精品国产| 亚洲精品无码久久久久| 国产综合精品久久亚洲| 久久996热精品xxxx| 久久久久亚洲AV无码专区体验| 无码精品久久一区二区三区| 久久天堂电影网| 亚洲国产精品久久| 久久综合九色综合久99| 久久精品毛片免费观看| 亚洲第一极品精品无码久久| 99久久香蕉国产线看观香| 中文成人久久久久影院免费观看| 久久久久久国产精品免费免费| 97精品国产97久久久久久免费| 国产福利电影一区二区三区,免费久久久久久久精 | 日产精品久久久久久久性色 | 成人免费网站久久久| 精品久久久久中文字幕一区|